/**
 * 
 * @param {滚动高度} h 
 */
function zScrollUp(h){
    if(!h){
        h=500
    }
    swipe(device.width/2,device.height/2,
    device.width/2, device.height/2 -h, 500)
    sleep(500)
}
/**
 * 
 * @param {获取t的ｙ坐标} t 
 */
function getY(t){
    return getText(t).bounds().centerY();
};

/**
 * 
 * @param {文本} text 
 * @param {是否点击全部，默认false} all 
 * @param {点击超时时间，默认１０秒} t 
 */
function textClick(text,all,t){
    
    return _textClick(text,1,all,t);
}

/**
 * 
 * @param {文本} text 
 * @param {是否点击全部，默认false} all 
 * @param {点击超时时间，默认１０秒} t 
 */
function textStartClick(text,all,t){
    
    return _textClick(text,2,all,t);
}

/**
 * 
 * @param {文本} text 
 * @param {是否点击全部，默认false} all 
 * @param {点击超时时间，默认１０秒} t 
 */
function textEndClick(text,all,t){
    
    return _textClick(text,3,all,t);
}
/**
 * 
 * @param {*} text 匹配的文本
 * @param {*} type 1: 全匹配,2:前缀,3:后缀匹配
 * @param {*} all true:点击所有符合的text,false:只点击找到的第一个
 * @param {*} t 超时时间,默认10秒
 */
function _textClick(text,type,all,t){
    var btn = getText(text,type,t); 
    var result = false;
    if(all){
        while(btn){
            result = zclick(btn);
            btn = getText(text,type,1000); 
        }
        return result;
    }
    return zclick(btn)
}

/**
 * 获取text控件
 * @param {} tx 匹配的文本
 * @param {*} type 1: 全匹配,2:前缀,3:后缀匹配
 * @param {*} t 超时时间,默认10秒
 */
function getText(tx,type,t){
    
    if(!t){
        t=10000;
    }
    if(type==3){
        
        return textEndsWith(tx).findOne(t);
    }else if(type==2){
    
        return textStartsWith(tx).findOne(t);
    }else{
        
        return text(tx).findOne(t);
    }
}
/**
 * 
 * @param {*} obj 转化为坐标点击
 */
function zclick(obj){
    if(obj){
        let r = click(obj.bounds().centerX(),obj.bounds().centerY());
        console.log("click: "+obj.text());
        sleep(2000);
        return r
    }
}
/**
 * 
 * @param {*} obj[] 点击元素数组,转化为坐标点击
 */
function zclickAll(obj){
    if(obj){
        obj.each(function(o){
            zclick(o)
        })
    }
}

var scTools = {
    "zScrollUp":zScrollUp,
    "getY":getY,
    "textClick":textClick,
    "textStartClick":textStartClick,
    "textEndClick":textEndClick,
    "getText":getText,
    "zclick":zclick,
    "zclickAll":zclickAll
};

module.exports = scTools;
